/*******************************************************************************
 * @(#)IBaseDao.java 2012-10-11
 *
 * Copyright 2012 Neusoft Group Ltd. All rights reserved.
 * Neusoft PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *******************************************************************************/
package com.ido.babyshow.dao;

import java.util.List;


public interface IBaseDao {

    /**
     * 查询单个对象方法
     * 
     * @param <T>
     *            返回对象类型
     * @param object
     *            参数对象
     * @return 返回对象实例
     */
    <T> T selectOne(Object object);

    /**
     * 查询对象总记录数
     * 
     * @param <T>
     *            返回对象类型
     * @param object
     *            参数对象
     * @return 查询对象总记录数
     */
    int selectCount(Object object);
    
    /**
     * 查询分页对象集合方法
     * 
     * @param <T>
     *            返回对象类型
     * @param object
     *            参数对象
     * @return 返回对象实例集合
     * 
     */
    <T> List<T> selectListByPage(Object object);
    
    /**
     * 查询对象集合方法
     * 
     * @param <T>
     *            返回对象类型
     * @param object
     *            参数对象
     * @return 返回对象实例集合
     */
    <T> List<T> selectList(Object object);

    /**
     * 添加对象信息
     * 
     * @param object
     *            参数对象
     * @return 返回操作结果 1：插入成功，0：插入失败
     */
    int insert(Object object);

    /**
     * 更新对象信息
     * 
     * @param object
     *            参数对象
     * @return 返回操作结果 >1：更新成功，0：更新失败
     */
    int update(Object object);

    /**
     * 删除对象信息
     * 
     * @param object
     *            参数对象
     * @return 返回操作结果 >1：删除成功，0：删除失败
     */
    int delete(Object object);

}
